home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / macros / musictex / older-versions / musictex.503 / MUSICPLN.TEX < prev    next >
Text File  |  1994-01-27  |  11KB  |  299 lines

  1. % version 5.00 October 1992 updated jan 94
  2. \ifx\fonthdg\undefined\def\fonthdg{c}\fi  %  prefix to cmxxx fonts.
  3. \ifx\fonthdge\undefined\def\fonthdge{m}\fi  %  prefix to cmxxx fonts.
  4.                                           %   change to "d" for dmxxx fonts
  5. \font\cmmi=cmmi10 scaled \magstep1
  6. \font\cmbx=\fonthdg\fonthdge bx10 scaled \magstep1
  7. \font\smcmbx=\fonthdg\fonthdge bx10
  8. \font\cmex=cmex10
  9. \font\cmsy=cmsy10 scaled \magstep1
  10. \font\smcmsy=cmsy10
  11. \font\cmr=\fonthdg\fonthdge r10 scaled \magstep1
  12. \font\smcmr=\fonthdg\fonthdge r10
  13. \font\ttyeight=\fonthdg\fonthdge tt8
  14. \font\linew=linew10
  15. \font\circlew=circlew1
  16. %
  17. \catcode`\@=11\relax
  18. \def\q@u{\kern -0.70pt\cmsy\char"0F\kern 0.7pt}\def\qu@raise{-2.1pt}%
  19. \def\h@a{\kern-0.3pt\cmr\char"6F}\def\ha@raise{-2.1pt}%
  20. \def\w@h{\cmbx\char"6F}\def\wh@raise{-2.1pt}%
  21. %\check
  22. % petites notes
  23. \def\smq@u{\kern-0.70pt\smcmsy\char"0F\kern 0.7pt}%
  24. \def\smh@a{\kern-0.3pt\smcmr\char"6F}%
  25. \def\smw@h{\smcmbx\char"6F}%
  26. %
  27. \newbox\ch@box
  28. \newdimen\lthick
  29. \global\lthick=0.4pt\relax
  30. \newdimen\qn@width
  31. \newdimen\hn@width
  32. \newdimen\wn@width
  33. \newdimen\qd@skip
  34. \newdimen\hd@skip
  35. \newdimen\wd@skip
  36. \newcount\musicsize
  37. \def\computespecifics{\ifnum\musicsize=0\relax\musicsize=20\relax\fi
  38. \Interligne=\musicsize pt\divide\Interligne by 4\relax
  39. \def\ppff{\ppffsixteen}%
  40. \ifnum\musicsize=20\relax\def\meterfont{\moyen}\else\def\meterfont{\cmbx}%
  41. \def\ppff{\ppfftwenty}\fi%
  42. \interbeam=0.75\Interligne
  43. \wn@width=6pt\relax
  44. \hn@width=4.8pt\relax
  45. \qn@width=4.5pt       \relax
  46. \qd@skip=\qn@width\relax\advance\qd@skip by -\lthick\relax
  47. \hd@skip=\hn@width\relax\advance\qd@skip by -\lthick\relax
  48. \wd@skip=\wn@width\relax\advance\wd@skip by -\lthick\relax
  49. \setbox\ch@box=\hbox{\c@rochu}\relax\c@height=\ht\ch@box\relax
  50. }%
  51. %
  52. \def\s@oupir{\hbox{\kern 3pt\raise 5pt\hbox{\linew\char"42}\relax
  53. \kern -4pt\raise 12.5pt\hbox{\cmex\char"7C}\relax
  54. \kern 0.5pt\raise 14pt\hbox{\circlew\char"72}}}%
  55. \def\c@rochu{{\ttyeight\char"5C}}%
  56. \def\c@rochl{{\ttyeight\char"2F}}%
  57. \newdimen\c@height % hauteur d'un crochet de croche
  58. %\check
  59. \def\d@cr#1{%    % queue de #1 croche(s) vers le haut
  60. \global\advance\st@top by #1\Interligne\relax
  61. \global\advance\st@top by -\st@bot\global\advance\st@top by 2.5\Interligne\relax
  62.   \ifdim\st@top>1pt\relax
  63.   \global\advance\st@bot by -\altportee\relax
  64.   \raise\st@bot\rlap{\kern\stem@skip\vrule height\st@top width \lthick
  65.   \advance\st@top by -\c@height\relax
  66.   \ifnum #1>0\relax\raise\st@top\rlap{\c@rochu}\fi
  67.  \ifnum #1>1\relax\global\advance\st@top by -\Interligne\raise\st@top
  68. \rlap{\c@rochu}\fi
  69.  \ifnum #1>2\relax\global\advance\st@top by -\Interligne\raise\st@top
  70. \rlap{\c@rochu}\fi
  71.  \ifnum #1>3\relax\global\advance\st@top by -\Interligne\raise\st@top
  72. \rlap{\c@rochu}\fi
  73.   }\fi
  74.   \resetstem}%
  75. %\check
  76. \def\p@cr#1{%    % queue de #1 croche(s) vers le bas
  77. \global\advance\st@top by #1\Interligne\relax
  78. \global\advance\st@top by -\st@bot\global\advance\st@top by 2.5\Interligne\relax
  79. \global\advance\st@bot by -#1\Interligne\relax
  80.   \global\advance\st@bot by -2.5\Interligne\relax
  81.   \ifdim\st@top>1pt\relax
  82.   \global\advance\st@bot by -\altportee\relax
  83.   \raise\st@bot\llap{\relax
  84.    \ifnum #1>0\relax\rlap{\c@rochl}\fi
  85.    \ifnum #1>1\relax\raise\Interligne\rlap{\c@rochl}\fi
  86.    \ifnum #1>2\relax\raise 2\Interligne\rlap{\c@rochl}\fi
  87.    \ifnum #1>3\relax\raise 3\Interligne\rlap{\c@rochl}\fi
  88.    \vrule height\st@top width \lthick
  89.   \kern -\lthick}\fi
  90.   \resetstem}%
  91. %\check
  92. \def\s@harp{\cmmi\char"5D}\def\sh@raise{-2.5pt}%
  93. \def\f@lat{\cmmi\char"5B}\def\fl@raise{-2.5pt}%
  94. \def\n@at{{\cmmi\char"5C}}\def\na@raise{-2.5pt}%
  95. \def\balkuu{\char"20}\def\balkuuu{\char"21}\def\balkuuuu{\char"22}%
  96. \def\balku{\char"28}%
  97. \def\balkdd{\char"60}\def\balkddd{\char"61}\def\balkdddd{\char"62}%
  98. \def\balkd{\char"68}%
  99. \def\ds@harp{\cmbx\char"78\kern -0.4pt}\def\df@lat{\cmmi\char"5B\hskip
  100.  -1.5pt\char"5B\kern -0.8pt}%
  101. %\check
  102. \def\s@lopdefs{\q@antum=10pt\relax\def\s@lope{0.0}%
  103. \ifnum \b@p>1\relax\def\s@lope{0.15}\fi
  104. \ifnum \b@p>3\relax\def\s@lope{0.20}\fi
  105. \ifnum \b@p>5\relax\def\s@lope{0.40}\fi
  106. \ifnum \b@p>7\relax\def\s@lope{0.60}\fi
  107. \ifnum \b@p<-1\relax\def\s@lope{-0.15}\fi
  108. \ifnum \b@p<-3\relax\def\s@lope{-0.20}\fi
  109. \ifnum \b@p<-5\relax\def\s@lope{-0.40}\fi
  110. \ifnum \b@p<-7\relax\def\s@lope{-0.60}\fi
  111. }%
  112. \def\b@alkdefs{\q@antum=10pt\relax
  113. \ifnum \b@p>1\relax\def\b@alk{\balku}\fi
  114. \ifnum \b@p>3\relax\def\b@alk{\balkuu}\fi
  115. \ifnum \b@p>5\relax\def\b@alk{\balkuuu}\fi
  116. \ifnum \b@p>7\relax\def\b@alk{\balkuuuu}\fi
  117. \ifnum \b@p<-1\relax\def\b@alk{\balkd}\fi
  118. \ifnum \b@p<-3\relax\def\b@alk{\balkdd}\fi
  119. \ifnum \b@p<-5\relax\def\b@alk{\balkddd}\fi
  120. \ifnum \b@p<-7\relax\def\b@alk{\balkdddd}\fi
  121. }%
  122. %\check
  123. \def\p@outre{%    \y@ii : longueur,   \b@p : pente,  \y@i : altitude
  124. \ifnum \b@p=0\relax\raise \y@i\hbox{\vrule height 0.5\internote depth
  125.  0.5\internote width \y@ii}\relax
  126. \else   \b@alkdefs\linew
  127.   \global\y@iv=0pt
  128.   \loop\ifdim\y@iv<\y@ii\relax
  129.     {\y@v=\y@ii\relax\advance\y@v by -\y@iv\relax\advance\y@v by -\q@antum\relax
  130.  \y@iii=\y@i\relax\advance\y@iii by \s@lope\y@iv\relax\advance\y@iii by
  131.  -0.5\internote
  132.     \ifnum \b@p<0\relax\advance\y@iii by \s@lope\q@antum\relax\fi
  133.     \ifdim\y@v<0pt\relax\advance\y@iii by \s@lope\y@v\relax\hskip\y@v\fi
  134.       \raise\y@iii\hbox to \z@ {\b@alk\hss}\advance\y@iii by 0.2\internote\relax
  135.       \raise\y@iii\hbox to \z@ {\b@alk\hss}\advance\y@iii by 0.2\internote\relax
  136.       \raise\y@iii\hbox to \z@ {\b@alk\hss}\advance\y@iii by 0.2\internote\relax
  137.  \raise\y@iii\hbox to \q@antum{\b@alk\hss}\global\advance\y@iv by \q@antum\relax
  138.     }\repeat
  139. \fi
  140. }%
  141. %\check
  142. \def\clefdefa{\hbox{\kern 1.5pt\circlew\raise 4\Interligne
  143. \rlap{\char7\char4\kern -6.8pt\char4}\relax
  144. \raise 3.1\Interligne\rlap{\kern 1.7pt\char"73}%
  145. \raise 2.5\Interligne\rlap{\kern 9pt\vrule height\Interligne width 1.6pt}%
  146. \kern 8.3pt\raise\Interligne
  147. \rlap{\char 13\kern  -15.2pt\char13}\kern 1.5pt\raise 2.5\Interligne
  148. \hbox{\moyen :}}}%
  149. %\check
  150. \def\clefdesolsymbol{\hbox{\circlew\kern 1pt \raise 11pt\rlap{\kern 4pt\char7\char8}%
  151. \raise10pt\rlap{\kern 4pt\char7\char8}%
  152. \raise 5pt\rlap{\kern -1pt\tenbf\char'050}%
  153. \raise \z@ \rlap{\kern \z@ \char 10\char9}%
  154. \raise -3pt\rlap{\kern 3.5pt\char"73}%
  155. \raise 9.5pt\rlap{\kern 1.20pt\linew\char"13}%
  156. \raise 12pt\rlap{\kern 1.55pt\linew\char"13}%
  157. \raise 3\Interligne\rlap{\linew\kern 4pt\char"45}%
  158. \raise \z@\rlap{\kern 7pt\linew\char"45}\raise 2\Interligne\rlap{\linew\kern
  159.  5pt\char"45}%
  160. \raise -5pt\rlap{\kern 8pt\char 5}%
  161. \raise 27.5pt\rlap{\kern 3.8pt\char3\char0}%
  162. \raise 26.5pt\rlap{\kern 4pt\char3\char0}%
  163. \raise 22.2pt\rlap{\kern 6.4pt\eightbf\char'051}%
  164. \raise 21pt\rlap{\kern 6.4pt\eightbf\char'051}\relax
  165. \kern 12pt}}%
  166. %\check
  167.  \def\clefdutsymbol{\hbox{\kern2pt\vrule width 3pt height
  168. 4\Interligne\kern1pt\vrule height 4\Interligne
  169.  \def\rempl{\hbox{\vrule width 1pt height 3pt}}%
  170. \kern 6pt\vbox to 4\Interligne{\offinterlineskip\rempl\hbox{\circlew
  171. \char"09}\kern -2\Interligne
  172. \hbox{\circlew\char"08}\rempl}}}%
  173. %
  174. \def\smallclefdut{\clefdutsymbol}%
  175. \def\smallclefdefa{\clefdefasymbol}%
  176. \def\smallclefdesol{\clefdesolsymbol}%
  177. %\check
  178. \def\allabreve{\meterfrac{2}{2}}%
  179. %\check
  180. \def\arp@elem{\vbox to 6pt{\vss\cmsy\char"6F}}%
  181. \def\Arp@elem{\arp@elem}%
  182. \def\d@soup{\raise\Interligne\hbox{\linew
  183. \kern 0.8\Interligne\char2\kern -\Interligne\raise 1.8\Interligne
  184. \hbox{\circlew\char"72}\kern -3pt\raise 7.5pt\hbox{\cmex
  185. \char"7D}}}
  186. \def\q@soup{\rlap{\d@soup}\kern 1pt\raise 4pt\hbox{\d@soup}}%
  187. \def\p@orgue{\hbox{\kern 0.5\qn@width\circlew\char"72\kern -10pt\raise
  188.  6pt\rlap{\char11\char8}\raise
  189.  7pt\hbox{\char11\char8}}}%
  190. \def\p@urgue{\hbox{\kern 0.5\qn@width\circlew\char"72\kern -10pt%
  191. \raise-6pt\rlap{\char10\char9}\raise-7pt\hbox{\char10\char9}}}%
  192. %
  193. \def\t@ilde{{\cmex\char"65}}%
  194. \def\trille#1{\hbox to #1{\leaders\hbox{\t@ilde\kern -0.8pt}\hfill}}%
  195. \def\Trille#1{\hbox to #1{\raise 1.2\Interligne\hbox{\it tr}\leaders
  196. \hbox{\t@ilde\kern -0.8pt}\hfill}}%
  197. %
  198. \def\st#1{\zcharnote{#1}{\raise -2pt          \rlap{\tt -}}}%
  199. \def\ppz#1{\zcharnote{#1}{\raise 2pt           \rlap{\tt \char13}}}%
  200. \def\pz#1{\zcharnote{#1}{\tenbf\kern 1.5pt .}}%
  201. \def\sforz#1{\zcharnote{#1}{\cmmi\char"3E}}%
  202. %
  203. % arpeges
  204. %
  205. \def\arpegesym#1{\hbox to \Interligne{\kern -1.2\Interligne\vbox to
  206.  #1{\parindent=\z@
  207. \offinterlineskip%  \ifdim #1>4\Interligne\Arp@elem\fi\hrule
  208. \cleaders\arp@elem\vfill\kern -\interligne}\hss}}%
  209. %
  210. \def\sh#1{\getn@i{#1}\global\n@raise=\sh@raise
  211.   \pl@llap{\s@harp\ifdim\small@test\relax\else\kern -0.20\Interligne\fi}%
  212. }%
  213. \def\na#1{\getn@i{#1}\global\n@raise=\na@raise
  214.   \pl@llap{\n@at\ifdim\small@test\relax\else\kern -0.20\Interligne\fi}%
  215. }%
  216. \def\fl#1{\getn@i{#1}\global\n@raise=\fl@raise
  217.   \pl@llap{\f@lat\ifdim\small@test\relax\else\kern -0.20\Interligne\fi}%
  218. }%
  219. \def\dsh#1{\getn@i{#1}\global\n@raise=\z@
  220.   \pl@llap{\ds@harp}}%
  221. %\check
  222. \def\dfl#1{\getn@i{#1}\global\n@raise=\fl@raise
  223.   \pl@llap{\df@lat}}%
  224. %
  225. % colons for repeat bars (:| |: :||:)
  226. %
  227. %
  228. %\check
  229. \def\w@coli{\selectinstr{\p@loop
  230.   \y@i=\altportee \n@portee
  231.   \advance\y@i by 1.4\Interligne
  232.   \raise\y@i\hbox to \z@{\hss\bf .\hss}%
  233.   \advance\y@i by \Interligne
  234.   \raise\y@i\hbox to \z@{\hss\bf .\hss}\repeat}}
  235. %
  236. \def\type@songsymbols{}
  237. %
  238. \def\ilegu#1#2{\selecttenue{#1}{\advance\locx@skip by -1.5\qn@width
  239. \i@tenu{#2}}}%
  240. \def\ilegl#1#2{\selecttenue{#1}{\advance\locx@skip by -1.5\qn@width
  241. \i@tenl{#2}}}%
  242. \def\t@ten{\y@i=\t@z\advance\y@i by -\altportee
  243. \y@ii=\locx@skip\advance\y@ii by -\t@x
  244. \ifnum\t@p>0\relax
  245.   \ifnum\t@s=2\relax
  246.     \raise\y@i\llap{\up@rleg}%
  247.   \else
  248.     \raise\y@i\llap{\up@leg}%
  249.   \fi
  250. \else
  251.   \ifnum\t@s=2\relax
  252.     \raise\y@i\llap{\lo@rleg}%
  253.   \else
  254.     \raise\y@i\llap{\lo@leg}%
  255.   \fi
  256. \fi
  257. \global\t@s=0\relax\@uptenubox}%
  258. %
  259. \def\c@ten{\y@ii=\x@skip\advance\y@ii by -\t@x
  260. \ifnum\t@s=1\relax
  261.   \ifnum\t@p>0\relax
  262.     \raise\t@z\llap{\up@les}\else
  263.     \raise\t@z\llap{\lo@les}\fi
  264. \else\ifnum\t@s=2\relax
  265.     \global\t@x=\t@z
  266.     \global\advance\t@x by \t@y
  267.     \kern -\y@ii\vrule height \t@x depth -\t@z width \y@ii
  268.     \fi
  269. \fi
  270. \global\t@x=-.8pt%<--
  271. \global\t@s=2\relax}%
  272. %
  273. \newdimen\k@ii
  274. \newdimen\k@iii
  275. \newdimen\k@iiii
  276. \newdimen\k@iiv
  277. \newdimen\k@iv
  278. \newdimen\k@ivi
  279. \newdimen\k@ivii
  280. \newdimen\k@iviii
  281. \newdimen\k@iix
  282.  
  283. %
  284. % positions x et z de debut des tenues
  285. \newdimen\t@xi\newdimen\t@zi
  286. \newdimen\t@xii\newdimen\t@zii
  287. \newdimen\t@xiii\newdimen\t@ziii
  288. \newdimen\t@xiv\newdimen\t@ziv
  289. \newdimen\t@xv\newdimen\t@zv
  290. \newdimen\t@xvi\newdimen\t@zvi
  291. \newdimen\t@xvii\newdimen\t@zvii
  292. \newdimen\t@xviii\newdimen\t@zviii
  293. \newdimen\t@xix\newdimen\t@zix
  294. \newdimen\t@xx\newdimen\t@zx
  295. %
  296. \newdimen\nullthick % pour les parties sans portees (paroles)
  297. \newdimen\clef@skip
  298.  
  299.